package student;

import java.util.ArrayList;

public class Test2 {
    public static void main(String[] args) {
        ArrayList<Student> list = new ArrayList<>();

        Student stu1 = new Student(1, "a", 1);
        Student stu2 = new Student(2, "b", 2);
        Student stu3 = new Student(3, "c", 3);

        list.add(stu1);
        list.add(stu2);
        list.add(stu3);

        /*要求3：通过id删除学生信息
        如果存在，则删除，如果不存在，则提示删除失败。*/

        //要找到id在数组中对应的索引
        int index = getIndex(list, 2);
        if (index >= 0){
            //如果存在，则删除
            list.remove(index);
            //遍历数组
            printArr(list);
        }else{
            //如果不存在，则提示删除失败
            System.out.println("当前id不存在，删除失败");
        }

    }
    public static int getIndex(ArrayList list, int id){
        for (int i = 0; i < list.size(); i++) {
            //依次得到每一个学生对象
            Student stu = (Student)list.get(i);
            //对stu进行一个非空判断
            if(stu != null){
                int sid = stu.getId();
                if(sid == id){
                    return i;
                }
            }
        }

        //当循环结束之后，还没有找到就表示不存在
        return -1;
    }
    public static void printArr(ArrayList list){
        for (int i=0;i<list.size();i++){
            Student stu = (Student)list.get(i);
            System.out.println("id："+stu.getId() + " 学号："+stu.getName() + " 年龄："+stu.getAge());
        }
    }
}
